﻿package com.Galaxisfarm {
	// Bibliotecas da game engine Flixel
	import com.adamatomic.flixel.*;
	
	public class ButtonCutTree extends FlxButton {
		// Botão para cortar árvore
		[Embed(source = "../../data/cut_tree.png")] private var ImgCutTree:Class;
		// Cursor padrão do mouse
		[Embed(source = "../../data/cursor.png")] private var ImgCursor:Class;
		// Cursor do mouse com desenho do trator
		[Embed(source = "../../data/tractor.png")] private var ImgTractor:Class;
		
		// Variável que armazena o estado do jogo
		private var _the_state:*;
		
		// Método construtor
		public function ButtonCutTree(TheState:*, X:Number, Y:Number):void {
			super(X, Y, new FlxSprite(ImgCutTree), onClick);
			_the_state = TheState;
		}
		
		// Método chamado quando o botão é clicado
		private function onClick():void {
			// Se não existir uma dialog box atualiza os demais componentes
			if (!_the_state.hasDialogBox()) {
				// Se o botão cortar árvore estiver clicado
				if (_the_state.getCutTree()) {
					// Muda o cursor para o padrão
					FlxG.setCursor(ImgCursor);
					// Define que não pode cortar a árvore
					_the_state.setCutTree(false);
					// Deixa o botão como não clicado
					this.switchOff();
				} else {
					// Define o cursor do mouse para o trator
					FlxG.setCursor(ImgTractor);
					// Define que pode cortar árvore
					_the_state.setCutTree(true);
					// Deixa o botão como clicado
					this.switchOn();
				}
			}
		}
	}
}